1. Field of the Invention
The present invention is directed to data transfer in a multi-system environment in which data is shared.
2. Description of the Related Art
In a shared-disk database management system (DBMS), multiple DBMSs (referred to as DBMS members) form a cluster and share storage. Each DBMS member in the cluster has a local buffer pool (BP) in which database pages are cached for fast access. A page may be cached in buffer pools of multiple DBMS members. As pages in the local buffer pool of one DBMS member are changed (i.e., updated), a “buffer coherency” problem results whereby the other DBMS members that have those pages cached must detect that their local copies are now out of date (i.e., “downlevel”) and they must obtain the most recent version of the page.
Various techniques have been developed in the prior art for transferring changed pages from one system to another. In the z/OS® environment, a “coupling facility” (CF) provides shared electronic storage and very high speed connectivity and is available from International Business Machines, Inc. A coupling facility is further described in “DB2's use of the Coupling Facility for Data Sharing,” Jeffrey W. Josten, IBM Systems Journal, Volume 36, Number 2, 1997, which is incorporated herein by reference.
In z/OS® environments, when multiple pages are changed in a buffer pool of a DBMS member, each changed page is transferred to shared electronic storage by writing one page at a time. That is, the DBMS member issues one “write data” command per changed page. However, with workloads that change a large quantity of pages, the page-at-a-time writes can add a significant amount of Central Processing Unit (CPU) overhead.
Additionally, the coupling facility provides a set of control structures and commands which allow the DBMS members to register their interest in a given page so that when the page is subsequently changed and written to the shared electronic storage, the coupling facility can send cross-invalidation (XI) signals to those DBMS members that have registered their interest in the page. The cross-invalidation signals are sent per page. When a DBMS member that has received the cross-invalidation signal then references that page in its local buffer pool, the DBMS member can quickly detect that the page is now invalid and can refresh the page very quickly from the coupling facility.
Changed data in a cache structure is associated with a castout class. Currently, when data is transferred from a cache structure to storage at each DBMS member 110A . . . N, the transfer is triggered by a time interval or structure full threshold. Then, a determination is made of which castout classes have significant amounts of changed data to be castout. For each of the determined classes, a list of all of the changed entries that are present in the castout class is read. For each entry in the list, entry data is read and the entry is locked for castout. Then, all entries are written to direct access storage devices (DASD) connected to the DBMS members under castout lock serialization for all the entries that were castout.
In environments other than z/OS® (e.g., Unix®, Windows®, or Linux® environments), changed pages are typically transferred from one member in a cluster of processors to another member either via disk input/output (I/O) or via point-to-point inter-system communication links. Some modem disk controllers come equipped with large electronic storage caches and a significant amount of central processing unit (CPU) power, and can transfer one or more pages at a time.
InfiniBand is an architecture and specification for data flow between processors and I/O devices that offers throughput of up to 2.5 gigabytes per second and support for up to 64,000 addressable devices. Infiniband is expected to offer better sharing of data between clustered processors. Infiniband, however, does not address the buffer coherency problem.
Thus, there is a need in the art for improved data transfer and for efficient buffer coherency between systems that are sharing data.